using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Obra.SmugMug.Api
{
    public partial class Image
    {
        public bool Hidden
        {
            get { return this.ImageContract.Hidden; }
            set { this.SmugMug.ChangeImageHidden(this.session.SessionId, this.ImageContract.Id, value); }
        }
        public DateTime LastUpdated
        {
            get { return this.ImageContract.LastModified; }
        }
        public DateTime Date
        {
            get { return this.ImageContract.Date; }
        }
        public int Size
        {
            get { return this.ImageContract.Size; }
        }
        public int Width
        {
            get { return this.ImageContract.Width; }
        }
        public string Watermark
        {
            get { return this.ImageContract.Watermark; }
        }
        public int Position
        {
            get { return this.ImageContract.Position; }
            set { this.SmugMug.ChangeImagePosition(this.session.SessionId, this.ImageContract.Id, value); }
        }
        public int Height
        {
            get { return this.ImageContract.Height; }
        }
        public int Id
        {
            get { return this.ImageContract.Id; }
        }
        public int Serial
        {
            get { return this.ImageContract.Serial; }
        }
        public string Format
        {
            get { return this.ImageContract.Format; }
        }
        public string Caption
        {
            get { return this.ImageContract.Caption; }
            set { this.SmugMug.ChangeImageCaption(this.session.SessionId, this.ImageContract.Id, value); }
        }
        public string Keywords
        {
            get { return this.ImageContract.Keywords; }
            set { this.SmugMug.ChangeImageKeywords(this.session.SessionId, this.ImageContract.Id, value); }
        }
        public string Name
        {
            get { return this.ImageContract.FileName; }
        }
        public string MD5Sum
        {
            get { return this.ImageContract.MD5Sum; }
        }
        public string Key
        {
            get { return this.ImageContract.Key; }
        }
        public string Longitude
        {
            get { return this.ImageContract.Longitude; }
        }
        public string Latitude
        {
            get { return this.ImageContract.Latitude; }
        }
        public string Altitude
        {
            get { return this.ImageContract.Altitude; }
        }
        public Uri SmallUrl
        {
            get { return new Uri(this.ImageContract.SmallUrl); }
        }
        public Uri MediumUrl
        {
            get { return new Uri(this.ImageContract.MediumUrl); }
        }
        public Uri LargeUrl
        {
            get { return new Uri(this.ImageContract.LargeUrl); }
        }
        public Uri XLargeUrl
        {
            get { return new Uri(this.ImageContract.XLargeUrl); }
        }
        public Uri X2LargeUrl
        {
            get { return new Uri(this.ImageContract.X2LargeUrl); }
        }
        public Uri X3LargeUrl
        {
            get { return new Uri(this.ImageContract.X3LargeUrl); }
        }
        public Uri OriginalUrl
        {
            get { return new Uri(this.ImageContract.OriginalUrl); }
        }
        public Uri Video320Url
        {
            get { return new Uri(this.ImageContract.Video320Url); }
        }
        public Uri Video640Url
        {
            get { return new Uri(this.ImageContract.Video640Url); }
        }
        public Uri Video960Url
        {
            get { return new Uri(this.ImageContract.Video960Url); }
        }
        public Uri Video1280Url
        {
            get { return new Uri(this.ImageContract.Video1280Url); }
        }
        public Uri ThumbUrl
        {
            get { return new Uri(this.ImageContract.ThumbUrl); }
        }
        public Uri AlbumUrl
        {
            get { return new Uri(this.ImageContract.AlbumUrl); }
        }
        public Uri TinyUrl
        {
            get { return new Uri(this.ImageContract.TinyUrl); }
        }
    }
}
